﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Security;
using System.Text;
using System.Threading.Tasks;

namespace 数组练习
{
    internal class Program
    {
        static void Main(string[] args)
        {
            #region 创建一个一维数组，并且使得下标与打印出来的值一致
            //int[] a = new int[100];
            //for (int i = 0; i < a.Length; i++)
            //{
            //    a[i] = i;
            //    Console.WriteLine(a[i]);
            //}
            #endregion
            #region 创建一个数组B，让数组A中的元素*2放在数组B中
            //int[] A =new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
            //int[] B = new int[10];
            //for(int i  = 0; i < A.Length; i++)
            //{
            //    B[i] = A[i] * 2;
            //    Console.WriteLine(B[i]);
            //}
            #endregion
            #region 随机（0-100）生成一个长度为10的整形数组   找到一个数组中最大值，最小值，平均值，总和
            // int[] a = new int[10];
            // Random r = new Random();
            // int min = a[0];   //第一次进来没有意义，所以第一次就可以认定该成绩既是最高分，也是最低分
            // int max = a[0];

            // int sum = 0;
            // float ave = 0;

            // for (int i = 0; i < a.Length; i++)
            // {
            //     a[i] = r.Next(0, 101);    //代码更加整洁
            //     Console.WriteLine(a[i]);
            // }
            // Console.WriteLine(" ");
            // Console.WriteLine(" ");
            // Console.WriteLine(" ");


            // for (int i = 0; i < a.Length; i++)
            // {
            //     sum += a[i];


            //     if (a[i] > max)
            //     {
            //         max = a[i];
            //     }
            // }
            // min = a[0];     //非常重要
            // for (int i = 1;i < a.Length; i++)
            // {
            //     if (min > a[i])
            //     {
            //         min = a[i];
            //     }
            // }
            //ave= sum / a.Length;
            // Console.WriteLine("最小值为{0}", min);
            // Console.WriteLine("最大值为{0}", max);
            // Console.WriteLine("数组总和为{0}", sum);
            // Console.WriteLine("数组值的平均数为{0}", ave);
            // #endregion
            // #region  交换数组中一个和最后一个值，第二个和倒数第二个值以此类推将交换前后的值打印出来
            //int[] a = new int[10];
            //Random r = new Random();
            //int tmp = 0;

            //for(int i  = 0; i < a.Length; i++)

            //{
            //    a[i] = r.Next(0,101);  //左可取，右不可取 
            //    Console.WriteLine(a[i]);

            //}

            //Console.WriteLine(" ");
            //Console.WriteLine(" ");
            //Console.WriteLine(" ");

            //for(int i = 0;i < a.Length / 2;i++)
            //{
            //    tmp = a[i]; 

            //    a[i] = a[a.Length-1 - i];

            //    a[a.Length - 1 - i] = tmp;
            //}
            //for(int i = 0; i<a.Length;i++)
            //{
            //    Console.WriteLine(a[i]);
            //}
            #endregion
            #region   以数组的形式呈现，每五个方块进行一次换行 偶数为黑色方块，奇数为白色方块
            //string[] s = new string[25];
            //for(int i = 0; i < s.Length; i++)
            //{
            //    if(i%5 == 0&&i!=0)   //实现每五个字符串换行操作
            //    {
            //        Console.WriteLine("");
            //    }
            //    s[i] = i % 2 == 0 ? "■" : "□";
            //    Console.Write(s[i]);

            //}
            #endregion
        }
    }
}
